CONTENTS | INDEX | PREV | NEXT
DCC generated link lines

If you give DICE the following line (if DCCOPTS contains the -1.3 option):

    1> DCC foo.o -o foo

It will run DLink with the following options:

DLink dlib:c.o foo.o dlib:cs.lib dlib:amigas13.lib dlib:auto.lib dlib:x.o -o foo

    DLIB:C.O            DICE startup code
    FOO.O               your object module(s)
    DLIB:CS.LIB         small data model version of c.lib
    DLIB:AMIGAS13.LIB   small data model version of commodore amiga.lib for 1.3
    DLIB:AUTO.LIB       DICE AUTO.LIB
    DLIB:X.O            DICE section terminator code

Some explanation is in order. AUTO.LIB catches any references to common
library base variables when no storage has been declared and imports code 
to automatically open said libraries on startup and close them on exit.  
DICE uses this feature to import code to open and close "dos.library" when 
DOSBase is referenced, and also for the floating point libraries.

You, the programmer, can use the feature to simply make arbitrary library 
calls and not have to deal with base variables, openning, or closing 
libraries in your code.  To take advantage of the feature simply do not 
declare library base variables or open/close the libraries.

X.O is used to supply an RTS at the end of the special autoinit and autoexit 
sections.  Any module between C.O and X.O may declare these special sections 
to handle run-time relocations and other DICE features, and do so such that
when the base of the section is JSR'd all the various module's code is 
sequenced through until the RTS in X.O is hit for the sections in question.